/*
 * Copyright @ 苏州瑞云信息技术有限公司 All rights reserved.
 */
package work.base.data.set;

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

/**
 * @author Sakura Shen
 *
 * Set的主要作用是可以去重 add的时候会自动去重
 *
 * @date 2021/7/15
 */
public class SetTest {

    public static void main(String[] args) {

        // HashSet将数据存储哈希表中，性能最佳。（无序）
        Set<String> peoples = new HashSet<String>();
        peoples.add("zhangsan");
        peoples.add("lisi");
        peoples.add("wangwu");
        peoples.add("laowu");
        System.out.println(peoples);


        // TreeSet将数据存储在红黑树中，数据的顺序依据数据的值。（有序）
        Set<String> persons = new TreeSet<String>();
        persons.add("green");
        persons.add("linda");
        persons.add("ada");
        persons.add("mike");
        persons.add("bread");
        System.out.println(persons);

        // LinkedHashSet中的数据存储在哈希表中，同时被链表贯穿着。它的顺序是按照插入的顺序。（有序）
        Set<String> persons2 = new LinkedHashSet<String>();
        persons2.add("green");
        persons2.add("linda");
        persons2.add("ada");
        persons2.add("mike");
        persons2.add("bread");
        System.out.println(persons2);

        // 判断set时候包含某个元素 contains方法
        System.out.println(persons2.contains("green"));


    }
}
